package com.liang.service;


import com.github.pagehelper.PageInfo;
import com.liang.pojo.dto.NoticeDto;
import com.liang.pojo.Notice;
import java.util.Map;
import java.util.List;
/**
 *@作者:lsk
 *Service接口
 *@Date:2023/10/16
*/
public interface NoticeService {

	/**
	根据Noticeid查询
	*/
	public Object selectByNoticeid(Long noticeid);

	/**
	根据Noticeid更新
	*/
	public Integer updateByNoticeid(Notice demo);

	/**
	根据Noticeid删除
	*/
	public Integer deleteByNoticeid(Long noticeid);



	/**
	 insert:(插入)
	*/
	public Object insert(Notice demo);


	/**
	 insertOrUpdate(插入或更新(根据主键或唯一索引更新，主键和唯一索引不会改变))
	*/
	public Integer insertOrUpdate(Notice demo);


	/**
	 insertBath:(批量插入)
	*/
	public Integer insertBatch(List<Notice> list);


	/**
	 insertOrUpdateBatch:(批量插入或更新)
	*/
	public Integer insertOrUpdateBatch(List<Notice> list);


	/**
	 selectList:(根据参数查询集合)
	*/
	public List<Notice> selectList(Map<String, Object> param);


	/**
	 selectCount:(根据集合查询数量)
	*/
	public Long selectCount(Map<String, Object> param);


	/**
	 * 插入notice到数据库中
	 * @param notice
	 * @return
	 */
    Boolean NoticePublish(Notice notice);

	PageInfo<NoticeDto> getNoticesAndPage(NoticeDto noticeDto);

    PageInfo<NoticeDto> getNoticesHistory(NoticeDto noticeDto);

	Boolean publishNotice(Long noticeId);

	PageInfo<NoticeDto> getSuperiorNotice(NoticeDto noticeDto);
}